Web typography

Web typography refers to the use of fonts on the World Wide Web. When HTML was first created, font faces and styles were controlled exclusively by the settings of each Web browser. There was no mechanism for individual Web pages to control font display until Netscape introduced the <font> tag in 1995, which was then standardized in the HTML 2 specification. However, the font specified by the tag had to be installed on the user's computer or a fallback font, such as a browser's default sans-serif or monospace font, would be used. The first Cascading Style Sheets specification was published in 1996 and provided the same capabilities.

The CSS2 specification was released in 1998 and attempted to improve the font selection process by adding font matching, synthesis and download. These techniques did not gain much use, and were removed in the CSS2.1 specification. However, Internet Explorer added support for the font downloading feature in version 4.0, released in 1997.[1] Font downloading was later included in the CSS3 fonts module, and has since been implemented in Safari 3.1, Opera 10 and Mozilla Firefox 3.5. This has subsequently increased interest in Web typography, as well as the usage of font downloading.

Contents

CSS1

In the first CSS specification,[2] authors specifed font characteristics via a series of properties:

All fonts were identified solely by name. Beyond the properties mentioned above, designers had no way to style fonts, and no mechanism existed to select fonts which were not present on the client system.

Web-safe fonts

Web-safe fonts are fonts likely to be present on a wide range of computer systems, and used by Web content authors to increase the likelihood that content will be displayed in their chosen font. If a visitor to a Web site does not have the specified font, their browser will attempt to select a similar alternative, based on the author-specified fallback fonts and generic families or it will use font substitution defined in the visitor's operating system.

Microsoft's Core fonts for the Web

In order to ensure that all Web users had a basic set of fonts, Microsoft started the Core fonts for the Web initiative in 1996 (terminated in 2002). The released fonts include Arial, Courier New, Times New Roman, Comic Sans, Impact, Georgia, Trebuchet and Verdana, under an EULA which made them freely distributable but also limited some usage rights. Their high penetration rate has made them a staple for Web designers. However, these fonts (or some of them) are not included in various operating systems by default.

CSS2 attempted to increase the tools available to Web developers by adding font synthesis, improved font matching and the ability to download remote fonts.[3]

Some CSS2 font properties were removed from CSS2.1 and later included in CSS3.[4][5]

Fallback fonts

The CSS specification allows for multiple fonts to be listed as fallback fonts.[6] In CSS, the font-family property accepts a list of comma-separated font faces to be used, like so:

font-family: "Liberation Sans", Arial, Helvetica, sans-serif;

The first font specified is the preferred font. If this font is not available, the Web browser will attempt to use the next font in the list. If none of the fonts specified are found, the browser will resort to displaying its default font face. This same process also happens on a per-character basis if the browser is trying to display a character which is not present in the specified font.

Generic font families

In order to give Web designers some control over the appearance of fonts on their Web pages even when the specified fonts are not available, the CSS specification allows the use of several generic font families. These families are designed to split fonts into several categories based on their general appearance. They are commonly specified as the last in a series of fallback fonts, as a last resort in the event that none of the fonts specified by the author are available. There are five generic families:[6]

Sans-serif

Fonts that do not have decorative markings, or serifs, on their letters. These fonts are often considered easier to read on screens.[7]

Serif

Fonts that have decorative markings, or serifs, present on their characters.

Monospace

Fonts in which all characters are equally wide.

Cursive

Fonts that resemble cursive writing. These fonts may have a decorative appearance, but they can be difficult to read at small sizes, so they are generally used sparingly.

Fantasy

Fonts that may contain symbols or other decorative properties, but still represent the specified character.

Web fonts

History

A technique to download remote fonts was first specified in the CSS2 specification, which introduced the @font-face rule.

It was (and remains[8]) controversial because using a remote font as part of a Web page allows the font to be freely downloaded. This could result in fonts being used against the terms of their license or illegally spread through the Web. TrueDoc (PFR), Embedded OpenType (EOT) and Web Open Font Format (WOFF) are formats designed to address these issues.

Since the introduction of Internet Explorer 4, font embedding employing EOT has been used mainly for displaying characters in writing systems that are not supported by default fonts. Use on English-language Web sites was virtually non-existent. With the releases of Firefox 3.5, Opera 10 and Safari 3.1, usage employing other formats is expected to increase.

File formats

By using a specific CSS @font-face embedding technique[9] it is possible to embed fonts such that they work with IE4+, Firefox 3.5+, Safari 3.1+, Opera 10+ and Chrome 4.0+. This allows the vast majority of Web users to access this functionality. Some commercial foundries object to the redistribution of their fonts. For example, Hoefler & Frere-Jones says that, while they "enthusiastically [support] the emergence of a more expressive Web in which designers can safely and reliably use high-quality fonts online", the current delivery of fonts using @font-face is considered "illegal distribution" by the foundry and is not permitted.[10] Naturally this does not interfere with fonts and foundries under free licences.[m 1]

TrueDoc

Bitstream developed TrueDoc, the first standard for embedding fonts. TrueDoc was natively supported in Netscape Navigator 4, but was discontinued in Netscape Navigator 6 and Mozilla, because Netscape could not release Bitstream's source code. A WebFont Player plugin was available for Internet Explorer, but the technology had to compete against Microsoft's Embedded OpenType fonts, natively supported since version 4.0.

Embedded OpenType

Internet Explorer has supported font embedding through the proprietary Embedded OpenType standard since version 4.0. It uses digital rights management techniques to help prevent fonts from being copied and used without a license. A simplified subset of EOT has been formalized under the name of CWT (Compatibility Web Type, formerly EOT-Lite)[11]

Scalable Vector Graphics

Web typography applies to SVG in two ways:

  1. All versions of the SVG 1.1 specification, including the SVGT subset, define a font module allowing the creation of fonts within an SVG document. Safari introduced support for many of these properties in version 3. Opera added preliminary support in version 8.0, with support for more properties in 9.0.
  2. The SVG specification allows for CSS to be applied to SVG documents in a similar manner to HTML documents, and the @font-face rule can be applied to text in SVG documents. Opera added support for this in version 10,[12] and WebKit since version 325 also supports this method using SVG fonts only.

TrueType/OpenType

Linking to industry-standard TrueType (TTF) and OpenType (TTF/OTF) fonts is supported by Mozilla Firefox 3.5+, Opera 10+,[13] Safari 3.1+,[14] Google Chrome 4.0+.[15] Internet Explorer 9+ will support only those fonts with embedding permissions set to installable.[16]

Web Open Font Format

WOFF has been supported by Mozilla Firefox 3.6+,[17] Google Chrome 5+,[18][19] Opera Presto,[20] and is supported by Internet Explorer 9 (since March 14, 2011).[21] Support is available on Mac OS X Lion's Safari from release 5.1.

Unicode fonts

Only two fonts available by default on the Windows platform, Microsoft Sans Serif and Lucida Sans Unicode, provide a wide Unicode character repertoire. A bug in Verdana (and the different handling of it by various user agents) hinders its usability where combining characters are desired.

Alternatives

A common hurdle in Web design is the design of mockups that include fonts that are not Web-safe. There are a number of solutions for situations like this. One common solution is to replace the text with a similar Web-safe font or use a series of similar-looking fallback fonts.

Another technique is image replacement. This practice involves overlaying text with an image containing the same text written in the desired font. This is good for search engine optimization and aesthetic purposes, but prevents text selection and increases bandwidth use.

Also common is the use of Flash-based solutions such as sIFR. This is similar to image replacement techniques, though the text is selectable and rendered as a vector. However, this method requires the presence of a proprietary plugin on a client's system.

Another solution is using Javascript to replace the text with VML (for Internet Explorer) or SVG (for all other browsers).

Font hosting services allow users to pay a subscription to host non-Web-safe fonts online. Most services host the font for the user and provide the necessary @font-face CSS declaration.

See also

Notes

  1. ^ See Open source typefaces and Free software Unicode typefaces listings for such fonts.

References

  1. ^ Garaffa, Dave (2 September 1997). "Embedded Fonts In Microsoft IE4pr2". Internet.com. Archived from the original on 8 July 1998. http://web.archive.org/web/19980708194539/browserwatch.internet.com/news/story/microsoft265.html. 
  2. ^ Cascading Style Sheets, level 1, W3C, 1996-12-17, http://www.w3.org/TR/CSS1/ 
  3. ^ "Fonts", Cascading Style Sheets, level 2:CSS2 Specification (World Wide Web Consortium), 1998-05-12, http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html, retrieved 2009-07-28 
  4. ^ CSS2.1 Changes —C.2.97 Chapter 15 Fonts, World Wide Web Consortium, http://www.w3.org/TR/CSS21/changes.html#q104, retrieved 2010-01-30 
  5. ^ CSS3 module: Web Fonts, World Wide Web Consortium, http://www.w3.org/TR/css3-webfonts, retrieved 2010-01-30 
  6. ^ a b "CSS2 specification", Fonts (World Wide Web Consortium), http://www.w3.org/TR/CSS2/fonts.html 
  7. ^ Poole, Alex (2005-04-07), Which Are More Legible: Serif or Sans Serif Typefaces?, http://www.alexpoole.info/academic/literaturereview.html, retrieved 2010-01-30 
  8. ^ Hill, Bill (2008-07-21), Font Embedding on the Web, Microsoft, http://blogs.msdn.com/ie/archive/2008/07/21/font-embedding-on-the-web.aspx 
  9. ^ Kimler, Scott Thomas (2009-07-04), xBrowser Fonts — Expand Your Font Palette Using CSS3, http://randsco.com/index.php/2009/07/04/cross_browser_font_embedding, retrieved 2010-02-05 
  10. ^ Wubben, Mark (February 27, 2009). "Geek Meet: Web Typography and sIFR 3 - Slide 15 and 16". SlideShare. http://www.slideshare.net/novemberborn/geek-meet-web-typography-and-sifr-3#15. Retrieved 17 March 2010. 
  11. ^ Daggett, John (2009-07-31), EOT-Lite File Format v.1.1, World Wide Web Consortium, http://lists.w3.org/Archives/Public/www-font/2009JulSep/0969.html, retrieved 2010-01-30 
  12. ^ Mills, Chris (2008-12-04), Opera Presto 2.2 and Opera 10 — a first look, Opera Software, http://dev.opera.com/articles/view/presto-2-2-and-opera-10-a-first-look/#webfontssvg, retrieved 2010-01-30 
  13. ^ Mills, Chris (2008-12-04), Opera Presto 2.2 and Opera 10 — a first look, Opera Developer Community, http://www.opera.com/docs/specs/presto22/#css, retrieved 2010-01-29 
  14. ^ Marsal, Katie (2008-02-07), Apple's Safari 3.1 to support downloadable web fonts, more, AppleInsider, http://www.appleinsider.com/articles/08/02/07/apples_safari_3_1_to_support_downloadable_web_fonts_more.html, retrieved 2010-02-05 
  15. ^ Irish, Paul (2010-01-25), Chrome and @font-face: It's here!, http://paulirish.com/2009/chrome-and-font-face-a-summary/ 
  16. ^ Galineau, Sylvain (2010-07-15), The CSS Corner: Better Web Typography For Better Design, Microsoft, http://blogs.msdn.com/b/ie/archive/2010/07/15/the-css-corner-better-web-typography-for-better-design.aspx 
  17. ^ Shapiro, Melissa (2009-10-20), Mozilla Supports Web Open Font Format, Mozilla, http://blog.mozilla.com/blog/2009/10/20/mozilla-supports-web-open-font-format/, retrieved 2010-02-05 
  18. ^ Gilbertson, Scott (2010-04-26), Google Chrome to Support the Web Open Font Format, webmonkey, http://www.webmonkey.com/2010/04/google-chrome-to-support-the-web-open-font-format 
  19. ^ Bug 38217 - [chromium] Add WOFF support, WebKit, https://bugs.webkit.org/show_bug.cgi?id=38217 
  20. ^ Web specifications support in Opera Presto 2.7, Opera, http://www.opera.com/docs/specs/presto27/ 
  21. ^ Galineau, Sylvain (2010-04-23), Meet WOFF, The Standard Web Font Format, Microsoft, http://blogs.msdn.com/ie/archive/2010/04/23/meet-woff-the-standard-web-font-format.aspx 

External links